
每一種 HTML 標籤都有預設的 Display 屬性,這些 Display 會影響網頁上的排版,要學會網頁排版我們得先了解基本的 Display 概念,還有如何運用。
block 區塊元素特點:
常見的區塊元素標籤:div 、 h1 ~ h6 、 ul li 、 p
inline 行內元素特點:
select 、 input 、 img 能夠隨意調整寬度、高度、padding、margin。a 、 span 只能調整 padding、margin 更僅限於左右。常見的行內元素標籤:a 、 span 、 select 、 input 、 img
inline-block 特點:
a 標籤,將 inline 改為 inline-block 屬性,增加點擊範圍、提升使用者體驗現今網站都支援 RWD ,根據不同裝置顯示介面,切換顯示/隱藏的就變得相當實用,像是:
舉個例子:
<div class="p-4">
<h2>hidden 範例(768px 以上為電腦版)</h2>
<p class="text-blue-700 md:hidden">我是手機版文字</p>
<p class="hidden text-red-700 md:block">我是電腦版文字</p>
</div>
從上方程式碼可以看到 hidden 的 class,Tailwind CSS 的 hidden 等同於 display: none,這裡以 768px 為例,斷點 class 是 md,透過 hidden 屬性顯示不同的文字。
codepen 連結
從上面我們對 display 隱藏屬性有一定的認識,接著我們來講講常常使人搞混的能見度。
舉個例子,這裡有一段 HTML。
<div class="p-4">
<div class="flex">
<div class="bg-gray-700 text-white text-center w-10 py-2 mr-4">1</div>
<div class="hidden bg-gray-700 text-white text-center w-10 py-2 mr-4">2</div>
<div class="bg-gray-700 text-white text-center w-10 py-2">3</div>
</div>
<br>
<div class="flex">
<div class="bg-gray-700 text-white text-center w-10 py-2 mr-4">1</div>
<div class="invisible bg-gray-700 text-white text-center w-10 py-2 mr-4">2</div>
<div class="bg-gray-700 text-white text-center w-10 py-2">3</div>
</div>
</div>
上方兩個區塊分別有3個方塊,每個區塊的數字2有不同的 class 名稱,一個是 hidden , 另一個是 invisible ,Tailwind CSS 的 invisible 等同於 visibility: hidden。

我們來看看差異,會發現第一排 hidden 區塊數字2不見了,數字3向前挪,反之第二排 invisible 區塊數字2也確實被隱藏,但仍保留其在 DOM 中的位置,若我們需要把一個物件完全隱藏,要使用 display: none 才會連同位置一起隱藏。
codepen 連結
display: none 只是隱藏並非移除,DOM 元素仍存在。visibility: hidden 只是不可見,DOM 的位置仍保留。